[INFO] cloning repository https://github.com/jopdorp/bigedit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jopdorp/bigedit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjopdorp%2Fbigedit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjopdorp%2Fbigedit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc46f87c145c127a831779ca4d4f5994dbbc26b4
[INFO] checking jopdorp/bigedit against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjopdorp%2Fbigedit" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jopdorp/bigedit
[INFO] finished tweaking git repo https://github.com/jopdorp/bigedit
[INFO] tweaked toml for git repo https://github.com/jopdorp/bigedit written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jopdorp/bigedit on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jopdorp/bigedit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.32
[INFO] [stderr]   Downloaded rayon-cond v0.3.0
[INFO] [stderr]   Downloaded whatlang v0.16.4
[INFO] [stderr]   Downloaded ort v2.0.0-rc.11
[INFO] [stderr]   Downloaded ort-sys v2.0.0-rc.11
[INFO] [stderr]   Downloaded tokenizers v0.20.4
[INFO] [stderr]   Downloaded zerocopy v0.8.32
[INFO] [stderr]   Downloaded syn v2.0.113
[INFO] [stderr]   Downloaded lzma-rust2 v0.15.6
[INFO] [stderr]   Downloaded ndarray v0.17.1
[INFO] [stderr]   Downloaded libc v0.2.179
[INFO] [stderr]   Downloaded zstd-safe v4.1.3+zstd.1.5.1
[INFO] [stderr]   Downloaded zstd v0.9.2+zstd.1.5.1
[INFO] [stderr]   Downloaded fuser v0.14.0
[INFO] [stderr]   Downloaded model2vec-rs v0.1.4
[INFO] [stderr]   Downloaded hmac-sha256 v1.1.12
[INFO] [stderr]   Downloaded zstd-sys v1.6.2+zstd.1.5.1
[INFO] [stderr]   Downloaded disklru v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5
[INFO] running `Command { std: "docker" "start" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling zerocopy v0.8.32
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling zstd-safe v4.1.3+zstd.1.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking webpki-roots v1.0.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.113
[INFO] [stderr]     Checking macro_rules_attribute v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling fuser v0.14.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking socks v0.3.4
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v1.6.2+zstd.1.5.1
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]     Checking ctrlc v3.5.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking rayon-cond v0.4.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.32
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking dary_heap v0.3.8
[INFO] [stderr]     Checking safetensors v0.5.3
[INFO] [stderr]     Checking rmp-serde v1.3.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking hf-hub v0.4.3
[INFO] [stderr]     Checking tokenizers v0.21.4
[INFO] [stderr]     Checking model2vec-rs v0.1.4
[INFO] [stderr]     Checking zstd v0.9.2+zstd.1.5.1
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking disklru v0.3.3
[INFO] [stderr]     Checking bigedit v0.1.18 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `MountOption`
[INFO] [stdout]   --> src/fuse_view.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     FileAttr, FileType, Filesystem, MountOption, ReplyAttr, ReplyData, ReplyDirectory, ReplyEntry,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle` and `self`
[INFO] [stdout]   --> src/fuse_view.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FilePos`
[INFO] [stdout]   --> src/journal.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::types::{FilePos, Patch};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/language.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/language.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `SeekFrom`, and `Seek`
[INFO] [stdout]  --> src/language.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, Seek, SeekFrom};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `SeekFrom`, `Seek`, and `Write`
[INFO] [stdout]   --> src/overlay.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io::{Read, Seek, SeekFrom, Write};
[INFO] [stdout]    |               ^^^^  ^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Patch`
[INFO] [stdout]    --> src/save.rs:930:9
[INFO] [stdout]     |
[INFO] [stdout] 930 |     use crate::types::Patch;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/semantic.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/semantic.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SemanticSearchMode`
[INFO] [stdout]   --> src/semantic.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::config::{SemanticSearchConfig, SemanticSearchMode, ThrottleSetting};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchOptions`
[INFO] [stdout]   --> src/ui.rs:13:44
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::search_service::{SearchService, SearchOptions, SearchDirection};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/ui.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]   --> src/ui.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::thread::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MountOption`
[INFO] [stdout]   --> src/fuse_view.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     FileAttr, FileType, Filesystem, MountOption, ReplyAttr, ReplyData, ReplyDirectory, ReplyEntry,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle` and `self`
[INFO] [stdout]   --> src/fuse_view.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FilePos`
[INFO] [stdout]   --> src/journal.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::types::{FilePos, Patch};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/language.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/language.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `SeekFrom`, and `Seek`
[INFO] [stdout]  --> src/language.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, Seek, SeekFrom};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `SeekFrom`, `Seek`, and `Write`
[INFO] [stdout]   --> src/overlay.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io::{Read, Seek, SeekFrom, Write};
[INFO] [stdout]    |               ^^^^  ^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/semantic.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/semantic.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SemanticSearchMode`
[INFO] [stdout]   --> src/semantic.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::config::{SemanticSearchConfig, SemanticSearchMode, ThrottleSetting};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchOptions`
[INFO] [stdout]   --> src/ui.rs:13:44
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::search_service::{SearchService, SearchOptions, SearchDirection};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/ui.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]   --> src/ui.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::thread::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `file_pos` is never read
[INFO] [stdout]    --> src/fuse_view.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             file_pos = patch.start;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 319 |         file_pos = patch.end;
[INFO] [stdout]     |         -------------------- `file_pos` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> src/overlay.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         lower: &Path,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> src/overlay.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         lower: &Path,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_original` is never read
[INFO] [stdout]    --> src/patches.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             current_original = patch.start;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 279 |             current_original = patch.end;
[INFO] [stdout]     |             ---------------------------- `current_original` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_length`
[INFO] [stdout]    --> src/search.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     file_length: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1562:13
[INFO] [stdout]      |
[INFO] [stdout] 1562 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1625:13
[INFO] [stdout]      |
[INFO] [stdout] 1625 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1662:13
[INFO] [stdout]      |
[INFO] [stdout] 1662 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1697:13
[INFO] [stdout]      |
[INFO] [stdout] 1697 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1741:13
[INFO] [stdout]      |
[INFO] [stdout] 1741 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut save_strategy = SaveStrategy::detect(path);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let mut search_service = SearchService::new(path, config.fts_search.clone()).ok();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ui.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             (KeyModifiers::NONE, KeyCode::F(3)) => {
[INFO] [stdout]     |             ----------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 653 |             (KeyModifiers::NONE, KeyCode::F(3)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `line_start_original_pos` and `ensure_cursor_visible` are never used
[INFO] [stdout]    --> src/editor.rs:463:8
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Editor {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 463 |     fn line_start_original_pos(&self, row: usize) -> Option<FilePos> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 746 |     fn ensure_cursor_visible(&mut self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_INO` is never used
[INFO] [stdout]   --> src/fuse_view.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const ROOT_INO: u64 = 1;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_INO` is never used
[INFO] [stdout]   --> src/fuse_view.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const FILE_INO: u64 = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TTL` is never used
[INFO] [stdout]   --> src/fuse_view.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const TTL: Duration = Duration::from_secs(1);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchedFileFS` is never constructed
[INFO] [stdout]    --> src/fuse_view.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct PatchedFileFS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_attr`, and `root_attr` are never used
[INFO] [stdout]    --> src/fuse_view.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl PatchedFileFS {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 107 |     fn new(state: Arc<Mutex<FuseState>>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn file_attr(&self) -> FileAttr {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn root_attr(&self) -> FileAttr {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_patched_range` is never used
[INFO] [stdout]    --> src/fuse_view.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn read_patched_range(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `daemon_pid` is never read
[INFO] [stdout]    --> src/fuse_view.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct FuseMount {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 386 |     daemon_pid: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `SIZE` is never used
[INFO] [stdout]    --> src/journal.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl JournalHeader {
[INFO] [stdout]     | ------------------ associated constant in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     const SIZE: usize = 8 + 4 + 8 + 4; // magic + version + size + checksum
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_journal` is never used
[INFO] [stdout]    --> src/journal.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn append_to_journal(journal: &Path, patches: &PatchList) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_likely_code` is never used
[INFO] [stdout]    --> src/language.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn is_likely_code(text: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_clonefile_consolidate_macos` is never used
[INFO] [stdout]    --> src/save.rs:885:4
[INFO] [stdout]     |
[INFO] [stdout] 885 | fn try_clonefile_consolidate_macos(_path: &Path, _patches: &PatchList) -> Result<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `compiled_regex` and `last_regex_pattern` are never read
[INFO] [stdout]    --> src/search_service.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub struct SearchService {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     compiled_regex: Option<Regex>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 369 |     /// Last regex pattern used
[INFO] [stdout] 370 |     last_regex_pattern: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_regex` is never used
[INFO] [stdout]     --> src/search_service.rs:1461:8
[INFO] [stdout]      |
[INFO] [stdout]  416 | impl SearchService {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1461 |     fn get_regex(&mut self, pattern: &str, case_sensitive: bool) -> Result<&Regex> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB` is never used
[INFO] [stdout]   --> src/semantic.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const GB: u64 = 1024 * MB;
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/semantic.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct SemanticIndex {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     config: SemanticSearchConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_service` is never read
[INFO] [stdout]    --> src/ui.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     search_service: Option<SearchService>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek`
[INFO] [stdout]  --> src/bin/bench_search.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{BufRead, BufReader, Read, Seek, SeekFrom};
[INFO] [stdout]   |                                         ^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::FileExt`
[INFO] [stdout]   --> src/bin/fuse_daemon.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::os::unix::fs::FileExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek`
[INFO] [stdout]  --> src/bin/bench_search.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{BufRead, BufReader, Read, Seek, SeekFrom};
[INFO] [stdout]   |                                         ^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReplyEmpty`
[INFO] [stdout]   --> src/bin/fuse_daemon.rs:25:88
[INFO] [stdout]    |
[INFO] [stdout] 25 |     FileAttr, FileType, Filesystem, MountOption, ReplyAttr, ReplyData, ReplyDirectory, ReplyEmpty,
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/bin/fuse_daemon.rs:485:9
[INFO] [stdout]     |
[INFO] [stdout] 485 |     let filename = state.filename.clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `first_match_pos` is never read
[INFO] [stdout]   --> tests/wikipedia_bench.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct BenchResult {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     first_match_pos: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_semantic` is never used
[INFO] [stdout]    --> tests/wikipedia_bench.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn bench_semantic(_file_path: &Path, query: &str) -> Result<BenchResult, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `before`
[INFO] [stdout]     --> src/editor.rs:1820:13
[INFO] [stdout]      |
[INFO] [stdout] 1820 |         let before = editor.viewport.line_count();
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_before`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::FileExt`
[INFO] [stdout]   --> src/bin/fuse_daemon.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::os::unix::fs::FileExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReplyEmpty`
[INFO] [stdout]   --> src/bin/fuse_daemon.rs:25:88
[INFO] [stdout]    |
[INFO] [stdout] 25 |     FileAttr, FileType, Filesystem, MountOption, ReplyAttr, ReplyData, ReplyDirectory, ReplyEmpty,
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]  --> tests/integration_test.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::{Command, Stdio};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> tests/integration_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> tests/integration_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]    --> tests/integration_test.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |     use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]     |                             ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::process::CommandExt`
[INFO] [stdout]    --> tests/integration_test.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     use std::os::unix::process::CommandExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]    --> tests/integration_test.rs:329:29
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]     |                             ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backspace_worked_1`
[INFO] [stdout]     --> src/editor.rs:2125:13
[INFO] [stdout]      |
[INFO] [stdout] 2125 |         let backspace_worked_1 = editor.viewport.line_count() < lines_before || 
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backspace_worked_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines_before`
[INFO] [stdout]     --> src/editor.rs:2129:13
[INFO] [stdout]      |
[INFO] [stdout] 2129 |         let lines_before = editor.viewport.line_count();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lines_before`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines_before`
[INFO] [stdout]     --> src/editor.rs:2135:13
[INFO] [stdout]      |
[INFO] [stdout] 2135 |         let lines_before = editor.viewport.line_count();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lines_before`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_SIZE_MB` is never used
[INFO] [stdout]   --> tests/apfs_bench.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const TEST_SIZE_MB: usize = 143;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_clonefile` is never used
[INFO] [stdout]   --> tests/apfs_bench.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn test_clonefile(_src: &Path, _dst: &Path) -> Result<std::time::Duration, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_file` is never used
[INFO] [stdout]   --> tests/apfs_bench.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn create_test_file(path: &Path, size_mb: usize) -> std::io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `benchmark_streaming_copy` is never used
[INFO] [stdout]   --> tests/apfs_bench.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn benchmark_streaming_copy(src: &Path, dst: &Path) -> std::io::Result<std::time::Duration> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `benchmark_consolidation` is never used
[INFO] [stdout]    --> tests/apfs_bench.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn benchmark_consolidation(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> tests/integration_test.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `script_output_path`
[INFO] [stdout]   --> tests/integration_test.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let script_output_path = script_output.path().to_path_buf();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_script_output_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keystroke_script`
[INFO] [stdout]   --> tests/integration_test.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let keystroke_script = format!(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keystroke_script`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `file_pos` is never read
[INFO] [stdout]    --> src/fuse_view.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             file_pos = patch.start;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 319 |         file_pos = patch.end;
[INFO] [stdout]     |         -------------------- `file_pos` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/bin/fuse_daemon.rs:485:9
[INFO] [stdout]     |
[INFO] [stdout] 485 |     let filename = state.filename.clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> src/overlay.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         lower: &Path,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> src/overlay.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         lower: &Path,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_original` is never read
[INFO] [stdout]    --> src/patches.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             current_original = patch.start;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 279 |             current_original = patch.end;
[INFO] [stdout]     |             ---------------------------- `current_original` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_length`
[INFO] [stdout]    --> src/search.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     file_length: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1562:13
[INFO] [stdout]      |
[INFO] [stdout] 1562 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1625:13
[INFO] [stdout]      |
[INFO] [stdout] 1625 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1662:13
[INFO] [stdout]      |
[INFO] [stdout] 1662 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1697:13
[INFO] [stdout]      |
[INFO] [stdout] 1697 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/search_service.rs:1741:13
[INFO] [stdout]      |
[INFO] [stdout] 1741 |         let mut file = File::open(&self.path)?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut save_strategy = SaveStrategy::detect(path);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let mut search_service = SearchService::new(path, config.fts_search.clone()).ok();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ui.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             (KeyModifiers::NONE, KeyCode::F(3)) => {
[INFO] [stdout]     |             ----------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 653 |             (KeyModifiers::NONE, KeyCode::F(3)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `line_start_original_pos` and `ensure_cursor_visible` are never used
[INFO] [stdout]    --> src/editor.rs:463:8
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Editor {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 463 |     fn line_start_original_pos(&self, row: usize) -> Option<FilePos> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 746 |     fn ensure_cursor_visible(&mut self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_INO` is never used
[INFO] [stdout]   --> src/fuse_view.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const ROOT_INO: u64 = 1;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_INO` is never used
[INFO] [stdout]   --> src/fuse_view.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const FILE_INO: u64 = 2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TTL` is never used
[INFO] [stdout]   --> src/fuse_view.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const TTL: Duration = Duration::from_secs(1);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchedFileFS` is never constructed
[INFO] [stdout]    --> src/fuse_view.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct PatchedFileFS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_attr`, and `root_attr` are never used
[INFO] [stdout]    --> src/fuse_view.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl PatchedFileFS {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 107 |     fn new(state: Arc<Mutex<FuseState>>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn file_attr(&self) -> FileAttr {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn root_attr(&self) -> FileAttr {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `daemon_pid` is never read
[INFO] [stdout]    --> src/fuse_view.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct FuseMount {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 386 |     daemon_pid: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `SIZE` is never used
[INFO] [stdout]    --> src/journal.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl JournalHeader {
[INFO] [stdout]     | ------------------ associated constant in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     const SIZE: usize = 8 + 4 + 8 + 4; // magic + version + size + checksum
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_journal` is never used
[INFO] [stdout]    --> src/journal.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn append_to_journal(journal: &Path, patches: &PatchList) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_clonefile_consolidate_macos` is never used
[INFO] [stdout]    --> src/save.rs:885:4
[INFO] [stdout]     |
[INFO] [stdout] 885 | fn try_clonefile_consolidate_macos(_path: &Path, _patches: &PatchList) -> Result<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_capability` is never read
[INFO] [stdout]     --> src/save.rs:1797:13
[INFO] [stdout]      |
[INFO] [stdout] 1792 |         struct FsConfig {
[INFO] [stdout]      |                -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1797 |             expected_capability: FilesystemCapability,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `compiled_regex` and `last_regex_pattern` are never read
[INFO] [stdout]    --> src/search_service.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub struct SearchService {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 368 |     compiled_regex: Option<Regex>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 369 |     /// Last regex pattern used
[INFO] [stdout] 370 |     last_regex_pattern: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_regex` is never used
[INFO] [stdout]     --> src/search_service.rs:1461:8
[INFO] [stdout]      |
[INFO] [stdout]  416 | impl SearchService {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1461 |     fn get_regex(&mut self, pattern: &str, case_sensitive: bool) -> Result<&Regex> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/semantic.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct SemanticIndex {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     config: SemanticSearchConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_service` is never read
[INFO] [stdout]    --> src/ui.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct App {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     search_service: Option<SearchService>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 46s
[INFO] running `Command { std: "docker" "inspect" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5", kill_on_drop: false }`
[INFO] [stdout] b1277b960bf6f1fe73ed1b1dae861202c52568e3c656dc078145bf4d8df4b6d5
